﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SmallBasic.Library;

namespace AntiVirusScanner4SmallBasic
{
#if LANG_JA
    /// <summary>
    /// AntiVirus オブジェクトは、コンピュータにインストールされているウィルス対策ソフトウェアを使って、ファイルがウィルスに感染していないか調べる機能を提供します。
    /// </summary>
#else
    /// <summary>
    /// The AntiVirus object provides methods to virus-scan a file powered by the anti virus application which is installed.
    /// </summary>
#endif
    [SmallBasicType]
    public static class AntiVirus
    {

#if LANG_JA
        /// <summary>
        /// 指定したファイルをスキャンし、もしコンピュータウィルスに感染していたら駆除します。
        /// </summary>
        /// <param name="filePath">スキャンするファイルの完全パスです。
        /// 完全パスはたとえば c:\temp\eicar.com のような形式です。</param>
        /// <returns>スキャンした結果を示す以下の文字列のいずれかです。"VirusNotFound", "VirusFound", "FileNotExist"</returns>
#else
        /// <summary>
        /// Scan the specified file, and clean it if infected.
        /// </summary>
        /// <param name="filePath">The full path of a file to scan.
        /// An example of a full path will be c:\temp\eicar.com.</param>
        /// <returns>a result of scan, "VirusNotFound", "VirusFound", and "FileNotExist".</returns>
#endif   
        public static Primitive ScanAndClean(Primitive filePath)
        {
            var scanner = new global::AntiVirus.Scanner();
            var result = scanner.ScanAndClean(filePath);
            return result.ToString();
        }
    }
}
